#ifndef __FONT_H
#define __FONT_H

#include <stdint.h>
#include <inttypes.h>

const uint8_t font5x7[] = {
  0x00, 0x00, 0x00, 0x00, 0x00, // SPACE
  0x00, 0x00, 0x5F, 0x00, 0x00, // !
  0x00, 0x03, 0x00, 0x03, 0x00, // "
  0x14, 0x3E, 0x14, 0x3E, 0x14, // #
  0x24, 0x2A, 0x7F, 0x2A, 0x12, // $
  0x43, 0x33, 0x08, 0x66, 0x61, // %
  0x36, 0x49, 0x55, 0x22, 0x50, // &
  0x00, 0x05, 0x03, 0x00, 0x00, // '
  0x00, 0x1C, 0x22, 0x41, 0x00, // (
  0x00, 0x41, 0x22, 0x1C, 0x00, // )
  0x14, 0x08, 0x3E, 0x08, 0x14, // *
  0x08, 0x08, 0x3E, 0x08, 0x08, // +
  0x00, 0x50, 0x30, 0x00, 0x00, // ,
  0x08, 0x08, 0x08, 0x08, 0x08, // -
  0x00, 0x60, 0x60, 0x00, 0x00, // .
  0x20, 0x10, 0x08, 0x04, 0x02, // /

  0x3E, 0x51, 0x49, 0x45, 0x3E, // 0
  0x00, 0x04, 0x02, 0x7F, 0x00, // 1
  0x42, 0x61, 0x51, 0x49, 0x46, // 2
  0x22, 0x41, 0x49, 0x49, 0x36, // 3
  0x18, 0x14, 0x12, 0x7F, 0x10, // 4
  0x27, 0x45, 0x45, 0x45, 0x39, // 5
  0x3E, 0x49, 0x49, 0x49, 0x32, // 6
  0x01, 0x01, 0x71, 0x09, 0x07, // 7
  0x36, 0x49, 0x49, 0x49, 0x36, // 8
  0x26, 0x49, 0x49, 0x49, 0x3E, // 9
  0x00, 0x36, 0x36, 0x00, 0x00, // :
  0x00, 0x56, 0x36, 0x00, 0x00, // ;
  0x08, 0x14, 0x22, 0x41, 0x00, // <
  0x14, 0x14, 0x14, 0x14, 0x14, // =
  0x00, 0x41, 0x22, 0x14, 0x08, // >
  0x02, 0x01, 0x51, 0x09, 0x06, // ?

  0x3E, 0x41, 0x59, 0x55, 0x5E, // @
  0x7E, 0x09, 0x09, 0x09, 0x7E, // A
  0x7F, 0x49, 0x49, 0x49, 0x36, // B
  0x3E, 0x41, 0x41, 0x41, 0x22, // C
  0x7F, 0x41, 0x41, 0x41, 0x3E, // D
  0x7F, 0x49, 0x49, 0x49, 0x41, // E
  0x7F, 0x09, 0x09, 0x09, 0x01, // F
  0x3E, 0x41, 0x41, 0x49, 0x3A, // G
  0x7F, 0x08, 0x08, 0x08, 0x7F, // H
  0x00, 0x41, 0x7F, 0x41, 0x00, // I
  0x30, 0x40, 0x40, 0x40, 0x3F, // J
  0x7F, 0x08, 0x14, 0x22, 0x41, // K
  0x7F, 0x40, 0x40, 0x40, 0x40, // L
  0x7F, 0x02, 0x0C, 0x02, 0x7F, // M
  0x7F, 0x02, 0x04, 0x08, 0x7F, // N
  0x3E, 0x41, 0x41, 0x41, 0x3E, // O

  0x7F, 0x09, 0x09, 0x09, 0x06, // P
  0x1E, 0x21, 0x21, 0x21, 0x5E, // Q
  0x7F, 0x09, 0x09, 0x09, 0x76, // R
  0x26, 0x49, 0x49, 0x49, 0x32, // S
  0x01, 0x01, 0x7F, 0x01, 0x01, // T
  0x3F, 0x40, 0x40, 0x40, 0x3F, // U
  0x1F, 0x20, 0x40, 0x20, 0x1F, // V
  0x7F, 0x20, 0x10, 0x20, 0x7F, // W
  0x41, 0x22, 0x1C, 0x22, 0x41, // X
  0x07, 0x08, 0x70, 0x08, 0x07, // Y
  0x61, 0x51, 0x49, 0x45, 0x43, // Z
  0x00, 0x7F, 0x41, 0x00, 0x00, // [
  0x02, 0x04, 0x08, 0x10, 0x20, // backslash
  0x00, 0x00, 0x41, 0x7F, 0x00, // ]
  0x04, 0x02, 0x01, 0x02, 0x04, // ^
  0x40, 0x40, 0x40, 0x40, 0x40, // _

  0x00, 0x01, 0x02, 0x04, 0x00, // `
  0x20, 0x54, 0x54, 0x54, 0x78, // a
  0x7F, 0x44, 0x44, 0x44, 0x38, // b
  0x38, 0x44, 0x44, 0x44, 0x44, // c
  0x38, 0x44, 0x44, 0x44, 0x7F, // d
  0x38, 0x54, 0x54, 0x54, 0x18, // e
  0x04, 0x04, 0x7E, 0x05, 0x05, // f
  0x08, 0x54, 0x54, 0x54, 0x3C, // g
  0x7F, 0x08, 0x04, 0x04, 0x78, // h
  0x00, 0x44, 0x7D, 0x40, 0x00, // i
  0x20, 0x40, 0x44, 0x3D, 0x00, // j
  0x7F, 0x10, 0x28, 0x44, 0x00, // k
  0x00, 0x41, 0x7F, 0x40, 0x00, // l
  0x7C, 0x04, 0x78, 0x04, 0x78, // m
  0x7C, 0x08, 0x04, 0x04, 0x78, // n
  0x38, 0x44, 0x44, 0x44, 0x38, // o

  0x7C, 0x14, 0x14, 0x14, 0x08, // p
  0x08, 0x14, 0x14, 0x14, 0x7C, // q
  0x00, 0x7C, 0x08, 0x04, 0x04, // r
  0x48, 0x54, 0x54, 0x54, 0x20, // s
  0x04, 0x04, 0x3F, 0x44, 0x44, // t
  0x3C, 0x40, 0x40, 0x20, 0x7C, // u
  0x1C, 0x20, 0x40, 0x20, 0x1C, // v
  0x3C, 0x40, 0x30, 0x40, 0x3C, // w
  0x44, 0x28, 0x10, 0x28, 0x44, // x
  0x0C, 0x50, 0x50, 0x50, 0x3C, // y
  0x44, 0x64, 0x54, 0x4C, 0x44, // z
  0x00, 0x08, 0x36, 0x41, 0x41, // {
  0x00, 0x00, 0x7F, 0x00, 0x00, // |
  0x41, 0x41, 0x36, 0x08, 0x00, // }
  0x02, 0x01, 0x02, 0x04, 0x02  // ~
};

const uint8_t font8x8[] = {
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  // <space>
  0x00,0x00,0x00,0x00,0x5F,0x00,0x00,0x00,  // !
  0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x00,  // "
  0x00,0x24,0x7E,0x24,0x24,0x7E,0x24,0x00,  // #
  0x00,0x2E,0x2A,0x7F,0x2A,0x3A,0x00,0x00,  // $
  0x00,0x46,0x26,0x10,0x08,0x64,0x62,0x00,  // %
  0x00,0x20,0x54,0x4A,0x54,0x20,0x50,0x00,  // &
  0x00,0x00,0x00,0x04,0x02,0x00,0x00,0x00,  // '
  0x00,0x00,0x00,0x3C,0x42,0x00,0x00,0x00,  // (
  0x00,0x00,0x00,0x42,0x3C,0x00,0x00,0x00,  // )
  0x00,0x10,0x54,0x38,0x54,0x10,0x00,0x00,  // *
  0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,  // +
  0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,  // ,
  0x00,0x10,0x10,0x10,0x10,0x10,0x00,0x00,  // -
  0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,  // .
  0x00,0x40,0x20,0x10,0x08,0x04,0x00,0x00,  // /

  0x3C,0x62,0x52,0x4A,0x46,0x3C,0x00,0x00,  // 0
  0x44,0x42,0x7E,0x40,0x40,0x00,0x00,0x00,  // 1
  0x64,0x52,0x52,0x52,0x52,0x4C,0x00,0x00,  // 2
  0x24,0x42,0x42,0x4A,0x4A,0x34,0x00,0x00,  // 3
  0x30,0x28,0x24,0x7E,0x20,0x20,0x00,0x00,  // 4
  0x2E,0x4A,0x4A,0x4A,0x4A,0x32,0x00,0x00,  // 5
  0x3C,0x4A,0x4A,0x4A,0x4A,0x30,0x00,0x00,  // 6
  0x02,0x02,0x62,0x12,0x0A,0x06,0x00,0x00,  // 7
  0x34,0x4A,0x4A,0x4A,0x4A,0x34,0x00,0x00,  // 8
  0x0C,0x52,0x52,0x52,0x52,0x3C,0x00,0x00,  // 9
  0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x00,  // :
  0x00,0x00,0x80,0x64,0x00,0x00,0x00,0x00,  // ;
  0x00,0x00,0x10,0x28,0x44,0x00,0x00,0x00,  // <
  0x00,0x28,0x28,0x28,0x28,0x28,0x00,0x00,  // =
  0x00,0x00,0x44,0x28,0x10,0x00,0x00,0x00,  // >
  0x00,0x04,0x02,0x02,0x52,0x0A,0x04,0x00,  // ?

  0x00,0x3C,0x42,0x5A,0x56,0x5A,0x1C,0x00,  // @
  0x7C,0x12,0x12,0x12,0x12,0x7C,0x00,0x00,  // A
  0x7E,0x4A,0x4A,0x4A,0x4A,0x34,0x00,0x00,  // B
  0x3C,0x42,0x42,0x42,0x42,0x24,0x00,0x00,  // C
  0x7E,0x42,0x42,0x42,0x24,0x18,0x00,0x00,  // D
  0x7E,0x4A,0x4A,0x4A,0x4A,0x42,0x00,0x00,  // E
  0x7E,0x0A,0x0A,0x0A,0x0A,0x02,0x00,0x00,  // F
  0x3C,0x42,0x42,0x52,0x52,0x34,0x00,0x00,  // G
  0x7E,0x08,0x08,0x08,0x08,0x7E,0x00,0x00,  // H
  0x00,0x42,0x42,0x7E,0x42,0x42,0x00,0x00,  // I
  0x30,0x40,0x40,0x40,0x40,0x3E,0x00,0x00,  // J
  0x7E,0x08,0x08,0x14,0x22,0x40,0x00,0x00,  // K
  0x7E,0x40,0x40,0x40,0x40,0x40,0x00,0x00,  // L
  0x7E,0x04,0x08,0x08,0x04,0x7E,0x00,0x00,  // M
  0x7E,0x04,0x08,0x10,0x20,0x7E,0x00,0x00,  // N
  0x3C,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,  // O

  0x7E,0x12,0x12,0x12,0x12,0x0C,0x00,0x00,  // P
  0x3C,0x42,0x52,0x62,0x42,0x3C,0x00,0x00,  // Q
  0x7E,0x12,0x12,0x12,0x32,0x4C,0x00,0x00,  // R
  0x24,0x4A,0x4A,0x4A,0x4A,0x30,0x00,0x00,  // S
  0x02,0x02,0x02,0x7E,0x02,0x02,0x02,0x00,  // T
  0x3E,0x40,0x40,0x40,0x40,0x3E,0x00,0x00,  // U
  0x1E,0x20,0x40,0x40,0x20,0x1E,0x00,0x00,  // V
  0x3E,0x40,0x20,0x20,0x40,0x3E,0x00,0x00,  // W
  0x42,0x24,0x18,0x18,0x24,0x42,0x00,0x00,  // X
  0x02,0x04,0x08,0x70,0x08,0x04,0x02,0x00,  // Y
  0x42,0x62,0x52,0x4A,0x46,0x42,0x00,0x00,  // Z
  0x00,0x00,0x7E,0x42,0x42,0x00,0x00,0x00,  // [
  0x00,0x04,0x08,0x10,0x20,0x40,0x00,0x00,  // <backslash>
  0x00,0x00,0x42,0x42,0x7E,0x00,0x00,0x00,  // ]
  0x00,0x08,0x04,0x7E,0x04,0x08,0x00,0x00,  // ^
  0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,  // _

  0x3C,0x42,0x99,0xA5,0xA5,0x81,0x42,0x3C,  // `
  0x00,0x20,0x54,0x54,0x54,0x78,0x00,0x00,  // a
  0x00,0x7E,0x48,0x48,0x48,0x30,0x00,0x00,  // b
  0x00,0x00,0x38,0x44,0x44,0x44,0x00,0x00,  // c
  0x00,0x30,0x48,0x48,0x48,0x7E,0x00,0x00,  // d
  0x00,0x38,0x54,0x54,0x54,0x48,0x00,0x00,  // e
  0x00,0x00,0x00,0x7C,0x0A,0x02,0x00,0x00,  // f
  0x00,0x18,0xA4,0xA4,0xA4,0xA4,0x7C,0x00,  // g
  0x00,0x7E,0x08,0x08,0x08,0x70,0x00,0x00,  // h
  0x00,0x00,0x00,0x48,0x7A,0x40,0x00,0x00,  // i
  0x00,0x00,0x40,0x80,0x80,0x7A,0x00,0x00,  // j
  0x00,0x7E,0x18,0x24,0x40,0x00,0x00,0x00,  // k
  0x00,0x00,0x00,0x3E,0x40,0x40,0x00,0x00,  // l
  0x00,0x7C,0x04,0x78,0x04,0x78,0x00,0x00,  // m
  0x00,0x7C,0x04,0x04,0x04,0x78,0x00,0x00,  // n
  0x00,0x38,0x44,0x44,0x44,0x38,0x00,0x00,  // o

  0x00,0xFC,0x24,0x24,0x24,0x18,0x00,0x00,  // p
  0x00,0x18,0x24,0x24,0x24,0xFC,0x80,0x00,  // q
  0x00,0x00,0x78,0x04,0x04,0x04,0x00,0x00,  // r
  0x00,0x48,0x54,0x54,0x54,0x20,0x00,0x00,  // s
  0x00,0x00,0x04,0x3E,0x44,0x40,0x00,0x00,  // t
  0x00,0x3C,0x40,0x40,0x40,0x3C,0x00,0x00,  // u
  0x00,0x0C,0x30,0x40,0x30,0x0C,0x00,0x00,  // v
  0x00,0x3C,0x40,0x38,0x40,0x3C,0x00,0x00,  // w
  0x00,0x44,0x28,0x10,0x28,0x44,0x00,0x00,  // x
  0x00,0x1C,0xA0,0xA0,0xA0,0x7C,0x00,0x00,  // y
  0x00,0x44,0x64,0x54,0x4C,0x44,0x00,0x00,  // z
  0x00,0x08,0x08,0x76,0x42,0x42,0x00,0x00,  // {
  0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,  // |
  0x00,0x42,0x42,0x76,0x08,0x08,0x00,0x00,  // }
  0x00,0x00,0x04,0x02,0x04,0x02,0x00,0x00   // ~  
};

#endif
